package com.ruoyi.project.storage.service;

import com.ruoyi.project.common.enums.TerminalEnum;
import com.ruoyi.project.storage.domain.User;

import java.util.List;

/**
 * 用户客户service接口
 *
 * @author mengyuanqing
 * @date 2020/5/1
 */
public interface IUserService {
    /**
     * 查询客户列表
     *
     * @param user 客户
     * @param terminalEnum 终端类型
     * @return 客户集合
     */
    List<User> selectUserList(TerminalEnum terminalEnum,User user);

    /**
     * 客户新增
     *
     * @param user 客户
     * @return 结果
     */
    int insertUser(TerminalEnum terminalEnum,User user);

    /**
     * 客户修改
     * @param user 客户
     * @return 结果
     */
    int updateUser(TerminalEnum terminalEnum,User user);

    /**
     * 客户删除
     * @param userIds 客户Id组数
     * terminalEnum 终端类型
     * @return 结果
     */
    int deleteUserByIds(TerminalEnum terminalEnum, Long[] userIds);

    /**
     * 批量重置用户密码
     *
     * @param userIds 客户Id组数
     * terminalEnum 终端类型
     * @return 结果
     */
    int updateUserByIds(TerminalEnum terminalEnum,Long[] userIds);

    /**
     * 客户启用停用
     * @param operate 操作类型("enable":启用 "disable":停用)
     * @param userIds 用户Id组数
     * @param terminalEnum 终端类型
     * @return 结果
     */
    int operateUserByIds(TerminalEnum terminalEnum,String operate, Long[] userIds);

    /**
     *
     * @return 当前客户积分值
     */
    Object selectCurrentPoints();


    /**
     * 重置用户密码
     *
     * @param oldPassword 老密码
     * @param newPassword 新密码
     * @param terminalEnum 终端类型
     * @return 结果
     */
    int resetUserPwd(TerminalEnum terminalEnum, String oldPassword, String newPassword);
}
